(0) Obligation:
Runtime Complexity TRS:
The TRS R consists of the following rules:
f_0(x) → a
f_1(x) → g_1(x, x)
g_1(s(x), y) → b(f_0(y), g_1(x, y))
f_2(x) → g_2(x, x)
g_2(s(x), y) → b(f_1(y), g_2(x, y))
f_3(x) → g_3(x, x)
g_3(s(x), y) → b(f_2(y), g_3(x, y))
f_4(x) → g_4(x, x)
g_4(s(x), y) → b(f_3(y), g_4(x, y))
f_5(x) → g_5(x, x)
g_5(s(x), y) → b(f_4(y), g_5(x, y))
Rewrite Strategy: FULL
(1) DecreasingLoopProof (EQUIVALENT transformation)
The following loop(s) give(s) rise to the lower bound Ω(n1):
The rewrite sequence
g_1(s(x), y) →+ b(f_0(y), g_1(x, y))
gives rise to a decreasing loop by considering the right hand sides subterm at position [1].
The pumping substitution is [x / s(x)].
The result substitution is [ ].
(2) BOUNDS(n^1, INF)
(3) RenamingProof (EQUIVALENT transformation)
Renamed function symbols to avoid clashes with predefined symbol.
(4) Obligation:
Runtime Complexity Relative TRS:
The TRS R consists of the following rules:
f_0(x) → a
f_1(x) → g_1(x, x)
g_1(s(x), y) → b(f_0(y), g_1(x, y))
f_2(x) → g_2(x, x)
g_2(s(x), y) → b(f_1(y), g_2(x, y))
f_3(x) → g_3(x, x)
g_3(s(x), y) → b(f_2(y), g_3(x, y))
f_4(x) → g_4(x, x)
g_4(s(x), y) → b(f_3(y), g_4(x, y))
f_5(x) → g_5(x, x)
g_5(s(x), y) → b(f_4(y), g_5(x, y))
S is empty.
Rewrite Strategy: FULL
(5) TypeInferenceProof (BOTH BOUNDS(ID, ID) transformation)
Infered types.
(6) Obligation:
TRS:
Rules:
f_0(x) → a
f_1(x) → g_1(x, x)
g_1(s(x), y) → b(f_0(y), g_1(x, y))
f_2(x) → g_2(x, x)
g_2(s(x), y) → b(f_1(y), g_2(x, y))
f_3(x) → g_3(x, x)
g_3(s(x), y) → b(f_2(y), g_3(x, y))
f_4(x) → g_4(x, x)
g_4(s(x), y) → b(f_3(y), g_4(x, y))
f_5(x) → g_5(x, x)
g_5(s(x), y) → b(f_4(y), g_5(x, y))
Types:
f_0 :: s → a:b
a :: a:b
f_1 :: s → a:b
g_1 :: s → s → a:b
s :: s → s
b :: a:b → a:b → a:b
f_2 :: s → a:b
g_2 :: s → s → a:b
f_3 :: s → a:b
g_3 :: s → s → a:b
f_4 :: s → a:b
g_4 :: s → s → a:b
f_5 :: s → a:b
g_5 :: s → s → a:b
hole_a:b1_6 :: a:b
hole_s2_6 :: s
gen_a:b3_6 :: Nat → a:b
gen_s4_6 :: Nat → s
(7) OrderProof (LOWER BOUND(ID) transformation)
Heuristically decided to analyse the following defined symbols:
g_1, g_2, g_3, g_4, g_5
(8) Obligation:
TRS:
Rules:
f_0(
x) →
af_1(
x) →
g_1(
x,
x)
g_1(
s(
x),
y) →
b(
f_0(
y),
g_1(
x,
y))
f_2(
x) →
g_2(
x,
x)
g_2(
s(
x),
y) →
b(
f_1(
y),
g_2(
x,
y))
f_3(
x) →
g_3(
x,
x)
g_3(
s(
x),
y) →
b(
f_2(
y),
g_3(
x,
y))
f_4(
x) →
g_4(
x,
x)
g_4(
s(
x),
y) →
b(
f_3(
y),
g_4(
x,
y))
f_5(
x) →
g_5(
x,
x)
g_5(
s(
x),
y) →
b(
f_4(
y),
g_5(
x,
y))
Types:
f_0 :: s → a:b
a :: a:b
f_1 :: s → a:b
g_1 :: s → s → a:b
s :: s → s
b :: a:b → a:b → a:b
f_2 :: s → a:b
g_2 :: s → s → a:b
f_3 :: s → a:b
g_3 :: s → s → a:b
f_4 :: s → a:b
g_4 :: s → s → a:b
f_5 :: s → a:b
g_5 :: s → s → a:b
hole_a:b1_6 :: a:b
hole_s2_6 :: s
gen_a:b3_6 :: Nat → a:b
gen_s4_6 :: Nat → s
Generator Equations:
gen_a:b3_6(0) ⇔ a
gen_a:b3_6(+(x, 1)) ⇔ b(a, gen_a:b3_6(x))
gen_s4_6(0) ⇔ hole_s2_6
gen_s4_6(+(x, 1)) ⇔ s(gen_s4_6(x))
The following defined symbols remain to be analysed:
g_1, g_2, g_3, g_4, g_5
(9) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol g_1.
(10) Obligation:
TRS:
Rules:
f_0(
x) →
af_1(
x) →
g_1(
x,
x)
g_1(
s(
x),
y) →
b(
f_0(
y),
g_1(
x,
y))
f_2(
x) →
g_2(
x,
x)
g_2(
s(
x),
y) →
b(
f_1(
y),
g_2(
x,
y))
f_3(
x) →
g_3(
x,
x)
g_3(
s(
x),
y) →
b(
f_2(
y),
g_3(
x,
y))
f_4(
x) →
g_4(
x,
x)
g_4(
s(
x),
y) →
b(
f_3(
y),
g_4(
x,
y))
f_5(
x) →
g_5(
x,
x)
g_5(
s(
x),
y) →
b(
f_4(
y),
g_5(
x,
y))
Types:
f_0 :: s → a:b
a :: a:b
f_1 :: s → a:b
g_1 :: s → s → a:b
s :: s → s
b :: a:b → a:b → a:b
f_2 :: s → a:b
g_2 :: s → s → a:b
f_3 :: s → a:b
g_3 :: s → s → a:b
f_4 :: s → a:b
g_4 :: s → s → a:b
f_5 :: s → a:b
g_5 :: s → s → a:b
hole_a:b1_6 :: a:b
hole_s2_6 :: s
gen_a:b3_6 :: Nat → a:b
gen_s4_6 :: Nat → s
Generator Equations:
gen_a:b3_6(0) ⇔ a
gen_a:b3_6(+(x, 1)) ⇔ b(a, gen_a:b3_6(x))
gen_s4_6(0) ⇔ hole_s2_6
gen_s4_6(+(x, 1)) ⇔ s(gen_s4_6(x))
The following defined symbols remain to be analysed:
g_2, g_3, g_4, g_5
(11) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol g_2.
(12) Obligation:
TRS:
Rules:
f_0(
x) →
af_1(
x) →
g_1(
x,
x)
g_1(
s(
x),
y) →
b(
f_0(
y),
g_1(
x,
y))
f_2(
x) →
g_2(
x,
x)
g_2(
s(
x),
y) →
b(
f_1(
y),
g_2(
x,
y))
f_3(
x) →
g_3(
x,
x)
g_3(
s(
x),
y) →
b(
f_2(
y),
g_3(
x,
y))
f_4(
x) →
g_4(
x,
x)
g_4(
s(
x),
y) →
b(
f_3(
y),
g_4(
x,
y))
f_5(
x) →
g_5(
x,
x)
g_5(
s(
x),
y) →
b(
f_4(
y),
g_5(
x,
y))
Types:
f_0 :: s → a:b
a :: a:b
f_1 :: s → a:b
g_1 :: s → s → a:b
s :: s → s
b :: a:b → a:b → a:b
f_2 :: s → a:b
g_2 :: s → s → a:b
f_3 :: s → a:b
g_3 :: s → s → a:b
f_4 :: s → a:b
g_4 :: s → s → a:b
f_5 :: s → a:b
g_5 :: s → s → a:b
hole_a:b1_6 :: a:b
hole_s2_6 :: s
gen_a:b3_6 :: Nat → a:b
gen_s4_6 :: Nat → s
Generator Equations:
gen_a:b3_6(0) ⇔ a
gen_a:b3_6(+(x, 1)) ⇔ b(a, gen_a:b3_6(x))
gen_s4_6(0) ⇔ hole_s2_6
gen_s4_6(+(x, 1)) ⇔ s(gen_s4_6(x))
The following defined symbols remain to be analysed:
g_3, g_4, g_5
(13) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol g_3.
(14) Obligation:
TRS:
Rules:
f_0(
x) →
af_1(
x) →
g_1(
x,
x)
g_1(
s(
x),
y) →
b(
f_0(
y),
g_1(
x,
y))
f_2(
x) →
g_2(
x,
x)
g_2(
s(
x),
y) →
b(
f_1(
y),
g_2(
x,
y))
f_3(
x) →
g_3(
x,
x)
g_3(
s(
x),
y) →
b(
f_2(
y),
g_3(
x,
y))
f_4(
x) →
g_4(
x,
x)
g_4(
s(
x),
y) →
b(
f_3(
y),
g_4(
x,
y))
f_5(
x) →
g_5(
x,
x)
g_5(
s(
x),
y) →
b(
f_4(
y),
g_5(
x,
y))
Types:
f_0 :: s → a:b
a :: a:b
f_1 :: s → a:b
g_1 :: s → s → a:b
s :: s → s
b :: a:b → a:b → a:b
f_2 :: s → a:b
g_2 :: s → s → a:b
f_3 :: s → a:b
g_3 :: s → s → a:b
f_4 :: s → a:b
g_4 :: s → s → a:b
f_5 :: s → a:b
g_5 :: s → s → a:b
hole_a:b1_6 :: a:b
hole_s2_6 :: s
gen_a:b3_6 :: Nat → a:b
gen_s4_6 :: Nat → s
Generator Equations:
gen_a:b3_6(0) ⇔ a
gen_a:b3_6(+(x, 1)) ⇔ b(a, gen_a:b3_6(x))
gen_s4_6(0) ⇔ hole_s2_6
gen_s4_6(+(x, 1)) ⇔ s(gen_s4_6(x))
The following defined symbols remain to be analysed:
g_4, g_5
(15) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol g_4.
(16) Obligation:
TRS:
Rules:
f_0(
x) →
af_1(
x) →
g_1(
x,
x)
g_1(
s(
x),
y) →
b(
f_0(
y),
g_1(
x,
y))
f_2(
x) →
g_2(
x,
x)
g_2(
s(
x),
y) →
b(
f_1(
y),
g_2(
x,
y))
f_3(
x) →
g_3(
x,
x)
g_3(
s(
x),
y) →
b(
f_2(
y),
g_3(
x,
y))
f_4(
x) →
g_4(
x,
x)
g_4(
s(
x),
y) →
b(
f_3(
y),
g_4(
x,
y))
f_5(
x) →
g_5(
x,
x)
g_5(
s(
x),
y) →
b(
f_4(
y),
g_5(
x,
y))
Types:
f_0 :: s → a:b
a :: a:b
f_1 :: s → a:b
g_1 :: s → s → a:b
s :: s → s
b :: a:b → a:b → a:b
f_2 :: s → a:b
g_2 :: s → s → a:b
f_3 :: s → a:b
g_3 :: s → s → a:b
f_4 :: s → a:b
g_4 :: s → s → a:b
f_5 :: s → a:b
g_5 :: s → s → a:b
hole_a:b1_6 :: a:b
hole_s2_6 :: s
gen_a:b3_6 :: Nat → a:b
gen_s4_6 :: Nat → s
Generator Equations:
gen_a:b3_6(0) ⇔ a
gen_a:b3_6(+(x, 1)) ⇔ b(a, gen_a:b3_6(x))
gen_s4_6(0) ⇔ hole_s2_6
gen_s4_6(+(x, 1)) ⇔ s(gen_s4_6(x))
The following defined symbols remain to be analysed:
g_5
(17) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol g_5.
(18) Obligation:
TRS:
Rules:
f_0(
x) →
af_1(
x) →
g_1(
x,
x)
g_1(
s(
x),
y) →
b(
f_0(
y),
g_1(
x,
y))
f_2(
x) →
g_2(
x,
x)
g_2(
s(
x),
y) →
b(
f_1(
y),
g_2(
x,
y))
f_3(
x) →
g_3(
x,
x)
g_3(
s(
x),
y) →
b(
f_2(
y),
g_3(
x,
y))
f_4(
x) →
g_4(
x,
x)
g_4(
s(
x),
y) →
b(
f_3(
y),
g_4(
x,
y))
f_5(
x) →
g_5(
x,
x)
g_5(
s(
x),
y) →
b(
f_4(
y),
g_5(
x,
y))
Types:
f_0 :: s → a:b
a :: a:b
f_1 :: s → a:b
g_1 :: s → s → a:b
s :: s → s
b :: a:b → a:b → a:b
f_2 :: s → a:b
g_2 :: s → s → a:b
f_3 :: s → a:b
g_3 :: s → s → a:b
f_4 :: s → a:b
g_4 :: s → s → a:b
f_5 :: s → a:b
g_5 :: s → s → a:b
hole_a:b1_6 :: a:b
hole_s2_6 :: s
gen_a:b3_6 :: Nat → a:b
gen_s4_6 :: Nat → s
Generator Equations:
gen_a:b3_6(0) ⇔ a
gen_a:b3_6(+(x, 1)) ⇔ b(a, gen_a:b3_6(x))
gen_s4_6(0) ⇔ hole_s2_6
gen_s4_6(+(x, 1)) ⇔ s(gen_s4_6(x))
No more defined symbols left to analyse.